From: Owen W. Taylor Date: Wed, 15 Aug 2012 23:21:33 +0000 (-0400) Subject: messageTray: keep the desktop clone at integral positions tweening it X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~6137 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=fe8e62c6a8cccd0719a406f2f0ff3bb496cb3d00;p=gnome-shell.git messageTray: keep the desktop clone at integral positions tweening it Drawing the desktop at non-integral positions is slower because it turns off the obscured-area clipping logic, so avoid that. --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 8d14d1f49..f77471660 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1932,12 +1932,14 @@ const MessageTray = new Lang.Class({ this._lightbox.show(); + this._desktopClone._progress = 0; Tweener.addTween(this._desktopClone, - { y: this._desktopClone.y - this.actor.height, + { _progress: this.actor.height, time: ANIMATION_TIME, transition: 'easeOutQuad', onUpdate: Lang.bind(this, function() { - let progress = -1 * this._desktopClone.y; // y is negative + let progress = Math.round(this._desktopClone._progress); + this._desktopClone.y = - progress; this._desktopClone.set_clip(geometry.x, geometry.y + progress, geometry.width, @@ -1966,8 +1968,9 @@ const MessageTray = new Lang.Class({ } let geometry = this._desktopClone.clip; + this._desktopClone._progress = 0; Tweener.addTween(this._desktopClone, - { y: this._desktopClone.y + this.actor.height, + { _progress: this.actor.height, time: ANIMATION_TIME, transition: 'easeOutQuad', onComplete: Lang.bind(this, function() { @@ -1975,7 +1978,8 @@ const MessageTray = new Lang.Class({ this._desktopClone = null; }), onUpdate: Lang.bind(this, function() { - let progress = this.actor.height + this._desktopClone.y; // y is negative + let progress = Math.round(this._desktopClone._progress); + this._desktopClone.y = progress - this.actor.height; this._desktopClone.set_clip(geometry.x, geometry.y - progress, geometry.width,